High latency has become a complex problem for modern day networks. Network users continue to demand high bandwidth access. However, as the bandwidth increases, buffer sizes also increase which has an unintended consequence of increasing latency due to delays in filling the much larger buffers. For example, a small buffer fills up quickly and hence packets are not stored as long. However, as the buffer fills, flow control limits the connection speed associated with the buffer. A large buffer takes much longer to fill and hence supports much higher connections. However, as the larger buffer fills up latency is increased substantially. As the latency increases to provide higher bandwidth, the latency can have detrimental effects on a number of software applications. For instance, applications that require faster real-time communication (e.g., real-time applications such as video gaming, video-conferencing, IP telephony, etc.) can be significantly impacted by a high latency connection. If the latency increases beyond a certain level, pauses, delays, and jitter may be encountered and in some cases a connection may be lost.
Further, even where the connection is maintained, often the quality will degrade as the codec switches to a much lower speed and/or lower resolution image/voice mode to attempt to correct for the latency issues. Hence quality suffers and the user's experience is impacted. While some systems attempted to address latency with quality of service (QoS) priority settings, these QoS priority settings are different on every network, difficult to manage on a global network, are not supported on a universal basis, and do not fully address the latency issues, e.g., associated with buffer size. Accordingly, there is a need to better manage networks, including needs to manage latency to lessen its negative effects on performance, to improve user experience and to implement a system that works universally and globally.